#pragma once

#include "vkinfer/runtime/vk/vkop.h"

namespace vkinfer
{
    class VkOpSigmoid : public VkOp
    {
    private:
        struct PushConstants
        {
            uint32_t size;
        } pc;

    public:
        VkOpSigmoid(VkDevice device, const std::shared_ptr<OnnxNodeInfo>& opinfo);

        virtual void update_descriptors(
            const std::vector<std::shared_ptr<VkBlob>>& inputs,
            std::vector<std::shared_ptr<VkBlob>>& outputs) override;
        virtual void forward(const std::vector<std::shared_ptr<Blob>>& inputs,
            std::vector<std::shared_ptr<Blob>>& outputs) override;
    };
}

